cc.Class({
    extends: cc.Component,

    properties: {
        // todo rwj
        maxHP:0, // 最大血量
        nowHP:0, // 当前血量
        maxHunger:0, // 最大饥饿值
        nowHunger:0, // 当前饥饿值
        maxSpeed:0, // 最大移动速度
        nowSpeed:0,  // 当前动速度 600
        // 主武器
        primaryGun:{
            default:null,
            type:cc.Prefab,
        },
        // 副武器
        secondlyGun:{
            default:null,
            type:cc.Prefab,
        },
        // 等待捡起来的武器
        floorGun:{
            default:null,
            type:cc.Node,
        },

    },
    onLoad: function () {
        // 装备主武器
        this.equip();
    },
    // 角色移动
    setDirection:function(vectorX,vectorY){
        this.body=this.node.getComponent("cc.RigidBody");
        var speed = this.body.linearVelocity;
        speed.x=(vectorX*this.nowSpeed);
        speed.y=(vectorY*this.nowSpeed);
        this.body.linearVelocity = speed;
    },
    // 装备武器
    equip:function(){
        if(this.node.getChildByName('gun'))
            this.node.getChildByName('gun').destroy();
        this.gun=cc.instantiate(this.primaryGun);
        this.node.addChild(this.gun,1,'gun');
    },
    // 切换武器
    switchGun:function(){
        var gun=this.secondlyGun;
        this.secondlyGun=this.primaryGun;
        this.primaryGun=gun;
        this.equip();
    },
    // 捡武器
    pickGun:function(){
        console.log("asd");
        if(this.floorGun){
            if(this.secondlyGun){
                // 有副武器
                var _gun=cc.instantiate(this.gun.getComponent("GunFun").physicsGun);
                var floor=this.floorGun.parent;
                var floorPos=this.floorGun.getPosition();
                _gun.x=floorPos.x;
                _gun.y=floorPos.y;
                floor.addChild(_gun);
                // 拿起装备
                this.primaryGun=cc.instantiate(this.floorGun.getComponent("GunPhysicsFun").gun);
                this.floorGun.destroy();
                this.equip();
            }else{
                // 无副武器
                this.secondlyGun=cc.instantiate(this.floorGun.getComponent("GunPhysicsFun").gun);
                this.floorGun.destroy();
                this.switchGun();
            }
        }
    },
    // 设置主武器的方向
    setGunDirection:function(gunX,gunY){
        this.gun.getComponent("GunFun").setDirection(gunX,gunY);
    },
    // 碰撞事件
    /*
        1 身体范围
	    2 仇恨范围
	    3 攻击范围
	    10 怪物 
	    11 武器
    */
    onBeginContact: function (contact, selfCollider, otherCollider) {
        if(selfCollider.tag==1&&otherCollider.tag==11){
            // 身体碰撞武器
            this.floorGun=otherCollider.node;
            contact.disabled = true;
        }
    },
    onEndContact: function (contact, selfCollider, otherCollider) {
        if(selfCollider.tag==1&&otherCollider.tag==11){
            // 身体碰撞武器
            this.floorGun=null;
            contact.disabled = true;
        }
    },
    onPreSolve: function (contact, selfCollider, otherCollider) {
        // 身体碰撞武器
        if(selfCollider.tag==1&&otherCollider.tag==11){
            this.floorGun=otherCollider.node;
            contact.disabled = true;
        }
        /*// 碰撞怪物
        if(otherCollider.tag==10){
            contact.disabled = true;
        }*/
    },
});
